THelpTopic TUTILITY TUTILITY Version 4.0 Copyright (c) 1985-92 by Borland International All Rights Reserved TUTILITY checks a Paradox table for damage and rebuilds it if necessary. Paradox tables can be damaged by power failures, hardware failures, bad network cards or connections, removing a floppy disk that Paradox is accessing, or rebooting the system while Paradox is active in memory. You should always make regular backups of your important data. Paradox tables consist of two sections, the header and the data blocks. The header contains information about the number of fields, the primary key, passwords, write protection, sort order, and the version of Paradox that created the table. Indexes and memos are stored in separate files, which belong to the table as part of its "family." (For more information on the Paradox family, see the Paradox "User's Guide.") If the table header is intact, but there is damage to the data blocks, TUTILITY rebuilds the table automatically. If the header is damaged, however, you must provide additional information about the header so TUTILITY can reconstruct the table. You can run TUTILITY from the Windows graphical user interface. You can also use TUTILITY to verify the header information in SQL replicas created with Paradox SQL Link. You cannot, however, rebuild SQL replicas with TUTILITY. < CAUTION: When you shell out to DOS from Paradox or your application, Paradox may be tracking a table internally, even if it is not visible on the workspace. Rebuilding this table can result in further damage. We recommend that you exit from Paradox completely before attempting to reconstruct tables with TUTILITY. THelpTopic Menu System Press [F1] for help anywhere in the program. ; If a menu is not highlighted, press [F10] to activate it. 4 To choose a menu command, do one of the following: Use the mouse to click it Use the Right and Left arrow keys to move the highlight bar, then press [Enter] Type the highlighted letter for a menu command You can also use the shortcut-key assignment to execute menu commands. For example, you access the System ( ) menu by pressing [Alt][Spacebar]. All other menus are accessed by pressing [Alt][letter], where "letter" is the highlighted menu letter. For example, you can execute the Table command by pressing [Alt][T]. Shortcut-key assignments work even if the menu is not active. When you select a menu command, a dialog box appears. Complete the information in the dialog box and choose OK to accept it. To cancel the dialog box, do one of the following: Choose Cancel Press [Esc] Click the close box in the upper left corner THelpTopic About [Alt][Space] When you choose About from the menu, the TUTILITY About box appears, showing copyright and version information. R To close the TUTILITY About box, press [Esc], [Space], or [Enter], or choose OK. P For more information about using the menu system in TUTILITY, see Menu System. THelpTopic Table [Alt][T] When you choose the Table command, the Select Table dialog box appears. You can pick a Paradox table to verify or rebuild from this dialog box. & The Select Table dialog box contains 2 The Table type-in box to enter table names The Files list to browse the directory An Open button to open a table A Cancel button to cancel the dialog box An Information panel that describes the selected table The DOS file name for a Paradox table always has a file extension of .DB. The Select Table dialog box only displays the file names that end with this extension. When entering a file name in the input box, you don't need to add the .DB extension. CAUTION: When you shell to DOS from Paradox or your application, Paradox may be tracking a table internally, even if it is not visible on the workspace. Rebuilding this table can result in further damage. We recommend that you exit from Paradox completely before loading TUTILITY. In a network or shared environment, TUTILITY places a full lock on the table selected for verification or rebuilding. If someone else is accessing the table, you will not be able to load it into TUTILITY. When you select a table, TUTILITY performs initial tests to ensure that it can read the table header. If TUTILITY is unable to read the table header, TUTILITY asks if you want to perform a manual rebuild. If the header passes the initial tests, the Table Info dialog box appears. THelpTopic Directory [Alt][D] Directory brings up the Change Directory dialog box, in which you can change the current directory. To verify or rebuild a table that is not in the current working directory, you can first choose Directory to change your working directory. You can change your working directory to any directory on your system. THelpTopic Setup [Alt][S] Choosing Setup brings up the Setup dialog box, which you can use to change the default TUTILITY settings. When you execute TUTILITY, it looks for a TUTILITY.CFG file. If it cannot find one, TUTILITY creates this file in the same directory TUTILITY.EXE resides in. \ Most options use default settings. Setup lets you change the default settings, if desired. THelpTopic Setup dialog box The Setup dialog box lets you configure TUTILITY to work in your environment. The Setup dialog box contains the following items: M The Share mode group, which specifies the type of sharing to be used. Local share enables file-sharing on local and network drives. Local sharing can be useful for multitasking operating systems (such as Windows). To use this feature, DOS file-sharing must be enabled. Consult your DOS reference manual for more information on SHARE. Network share enables file-sharing only on files located on a network. No sharing disables file sharing. The Display group, which contains: The US numbers checkbox, which specifies the number format to be used when TUTILITY displays numbers. For additional information on number formats, see your Paradox documentation. The B&W mode checkbox, which changes the display from colors to black and white. This can be useful, for example, on portables or computers with monochrome monitors that emulate colors. 4.0-style locks checkbox, which indicates whether TUTILITY should use record locking compatible with Paradox 4.0. If enabled, TUTILITY uses record locking compatible with Paradox 4.0. This option, which is on by default, must be disabled when you want to work with Paradox 3.5. The PARADOX.NET or PDOXUSRS.NET path type-in box, in which you specify the directory where the PARADOX.NET file is located for network or multi-tasking systems for Paradox 3.5 tables, and where the PDOXUSRS.NET file is located for Paradox 4.0 tables. This directory should be the same as that specified in NUPDATE (for Paradox 4.0) or ODAPI.CFG (for Paradox for Windows). The default is to use the current directory. An OK button, which saves your current preferences in TUTILITY.CFG A Cancel button, which cancels the dialog box without changing TUTILITY.CFG THelpTopic Exit [Alt][E] The Exit command terminates TUTILITY and returns you to DOS. THelpTopic FamilyObjects [Alt][F] Choose the FamilyObjects command to select which family member you would like to work with. ( Data works with all family members. Primary Key works with primary and secondary indexes or keys, including composite indexes. Secondary Key works with a secondary index or key of your choice. THelpTopic FamilyObjects The Data command lets you work with the data table and all associated family members. THelpTopic FamilyObjects PrimaryKey If Paradox reports that your primary key is out of date or corrupt, and the table passes the verification tests, you can rebuild just the key information by choosing Primary Key. Choosing this command rebuilds all primary and secondary indexes or keys. NOTE: When TUTILITY verifies a table, it does not verify the primary index. If a table exhibits unusual behavior in Paradox and TUTILITY reports no problems, try to rebuild the primary index in Paradox or in TUTILITY. THelpTopic FamilyObjects SecondaryKey If Paradox reports that a secondary index (or key) is out of date or corrupt, and the table passes the verification tests, you can rebuild just the secondary index information by choosing Secondary Key. You will be prompted to select which index to rebuild; only one index can be rebuilt at a time. If a secondary index header is corrupt, TUTILITY will not be able to rebuild the index; you must delete the index with DOS, then regenerate it with Paradox. THelpTopic Return [Alt][R] This option returns you to the Main menu. THelpTopic Borrow [Alt][B] This option lets you borrow the structure of another Paradox table. If you have another table on your drive that contains the same or a similar structure as the table you want to rebuild, use this option to enter the table structure information. If the table structure you're borrowing is different from the table structure you're rebuilding, edit the structure information before choosing Do-It!. When you choose this option, TUTILITY displays the Select Table dialog box, which lets you select the Paradox table whose structure you want to borrow. THelpTopic Compare [Alt][O] This option lets you compare table structures. If you have another table on your drive that contains the same structure as the table you want to rebuild, use this option to ensure the table structure information you enter is correct. s After choosing this option, a Select Table dialog box opens, which lets you select the table for your comparison. THelpTopic Do-It! [F2] or [Alt][D] Once the structure information is complete and accurate, end the structure definition process by choosing Do-It!. THelpTopic Header Information dialog box TUTILITY needs more information than is provided with the table structure to reliably rebuild a table. TUTILITY displays the values it thinks your table header contains. If the header is corrupted, these values may not be correct. P NOTE: The values entered here should reflect the values in the original table. L The information in this dialog box must be accurate to recover the data. You should NOT change any values unless you are certain they are invalid and you know the correct ones. If some of the information you specify is incorrect, TUTILITY may not rebuild the table correctly. Use the backup table created by TUTILITY to try again. A The Header Information dialog box contains the following items: Table format is the format this table was created with. Paradox 3.5 includes tables created with Paradox 3.5 and 3.0. Sort order is the sort order this table was created with. The Protection group, which contains: Write protection should be checked if the original table was write-protected. Referential Integrity should be checked if referential integrity is being enforced for this table. Password protection should be checked if the original table was password-protected. Max. original table is the largest size this table can be. Auxiliary passwords is the number of auxiliary passwords. Page should be set to the DOS code page number in use when this table was created if the table format is Paradox 4.0. THelpTopic Maintained Specify whether this secondary index or key is maintained. THelpTopic Table Exists The table name you entered already exists, or the table name with the letter P already exists in the active directory. If you no longer need this table, you can overwrite it. Otherwise, enter a new table name. THelpTopic Rebuild Complete dialog box This dialog box informs you that the rebuild operation is complete and provides summary information. a It is possible that TUTILITY was not able to recover all data. If it could not, TUTILITY attempted to save records it could not recover to a Problems table. This table has the same name as the backup table, with the letter P appended to the end of the table name (Note that backup table names cannot be longer than seven characters to allow for this). For example, if you tried to rebuild the table ORIGINAL.DB and you renamed it as BACKUP1.DB, TUTILITY would name the Problems table BACKUP1P.DB. If there were any problem records, TUTILITY displays the number of problem records when it completes the rebuild. THelpTopic Table Info dialog box The Table Info dialog box displays the following information about the selected table: & The number of fields in the table The number of primary key fields in the table The number of records in the table The sort order used by the table If the table is write-protected If the table is password-protected The format of the table (Paradox 3.5 or Paradox 4.0) The status of the table header The Table Info dialog box also contains four buttons: u The Verify button verifies that the Paradox table is consistent with the information stored in the header. The Rebuild button rebuilds the table. The Manual button lets you provide information about the table's structure if it cannot be rebuilt automatically. The Cancel button closes the Table Info dialog box. THelpTopic Verify button This option verifies that the Paradox table is consistent with the information stored in the header. For example, the file size is correct, the number of records is accurate, the defined structure matches the record size, and so on. The table must be consistent with the header information for Paradox to read the table. If the table is not consistent, you can rebuild the table. When TUTILITY verifies a table, it does not verify the primary index. If a table exhibits unusual behavior in Paradox and TUTILITY reports no problems, try to rebuild the primary index in Paradox or in TUTILITY. THelpTopic Rebuild button This option rebuilds a table. If a verify operation detects that a table is corrupt, TUTILITY automatically invokes this option. You can also select this feature manually (independent of the Verify option). D Rebuild reconstructs a table whose record links have been severed. [ If the table has not been damaged beyond repair, Rebuild links the records back together. d It is possible that TUTILITY will not be able to recover all data. If it cannot, TUTILITY attempts to save records it cannot recover to a Problems table. This table will have the same name as the backup table, with the letter P appended to the end of the table name (Note that backup table names cannot be longer than seven characters to allow for this). For example, if you want to rebuild a table ORIGINAL.DB and you rename the table as BACKUP1.DB, TUTILITY names the Problems table BACKUP1P.DB. If there are any problem records, TUTILITY displays the number of problem records when it completes the rebuild. h If a table has been damaged beyond recovery, you'll see a message saying the rebuild was unsuccessful. THelpTopic Rename Table dialog box TUTILITY asks you to enter a name to use as a backup name for the original table. This ensures that if something occurs during the rebuild (for example, a power failure), the original table will still exist. The new name can be up to 7 characters: TUTILITY reserves the eighth character for the Problems table, whose name is the new name with the letter P appended to the end. s After you provide the new name, TUTILITY will verify that a table does not already exist in the active directory. g If a duplicate table name exists, TUTILITY asks if you want to delete this table or use another name. THelpTopic Manual button Choose Manual if TUTILITY is unable to rebuild the table automatically. You must provide the following additional information: 9 The Paradox table format The table's sort order If the table is write-protected If referential integrity should be enforced for this table If the table is password-protected The maximum table size The number of auxiliary passwords The DOS code page in use when the table was created (if different than the active DOS code page) THelpTopic Manual structure mode If a table header is corrupt, you must provide additional information for TUTILITY to rebuild the table successfully. This information includes: 9 The Paradox table format The table's sort order If the table is write-protected If referential integrity should be enforced for this table If the table is password-protected The maximum table size The number of auxiliary passwords The DOS code page in use when the table was created (if different than the active DOS code page) The first screen you'll see lets you define the table's original structure. This screen is similar in design to the Create/Restructure mode in Paradox. TUTILITY also allows you to borrow the structure of an existing table, which you know to be undamaged, or to compare the structure you enter against another table on disk. U When you have reconstructed the original table structure, choose Do-It! to display a dialog box where you must specify additional information. Select OK to proceed with Manual rebuild. If some of the information you specify is incorrect, TUTILITY may not rebuild the table correctly. Use the backup table created by TUTILITY to try again. If you specify a password on a table that is not password-protected or if you specify the incorrect password for the table, TUTILITY will not be able to successfully rebuild the table. When you reconstruct the table, DO NOT modify the original structure of the damaged table. If you want to modify the table's structure, rebuild the table as it was originally then use Modify|Restructure in Paradox to alter the structure. THelpTopic Cancel button Choose Cancel to close the Table Info dialog box. THelpTopic Password This table has a password set. To recover the data, you must enter the correct password. THelpTopic Select Table dialog box The Select Table dialog box contains the following: k The Table type-in box to enter table names. A history list is attached to the Table type-in box. The Files list to browse the directory. An Open button to open a table. A Cancel button to cancel the dialog box. An Information panel that describes the selected table. THelpTopic Table type-in box The Table type-in box is where you enter the name of the table to load, or the table-name mask to use as a filter for the Files pick list (for example, *.DB). p Table THelpTopic Files pick list The Files pick list displays the names of tables in the current directory that match the table-name mask in the Name input box, plus the parent directory and all subdirectories. Files TABLE01.DB TABLE09.DB FILEN02.DB TABLE10.DB FILEN03.DB TABLE11.DB FILEN04.DB TABLE12.DB FILEN05.DB .. FILEN06.DB \PRIVATE FILEN07.DB \SAMPLE.DAT FILEN08.DB \REPORTS THelpTopic Information panel The information panel at the bottom of the dialog box shows the path name, table name, date, time, and size of the selected table. Note that none of the items on this information panel can be selected. C:\PDOX40\*.DB TABLE01.DB 4096 Dec 13,1990 12:00p THelpTopic Open button If you choose Open, TUTILITY opens a table for verification or rebuilding. + [ Open ] THelpTopic Cancel button If you choose Cancel, the dialog box closes and no action occurs. 1 [ Cancel ] You can press [Esc] to cancel a dialog box, even if there is no Cancel button. THelpTopic OK button Press [Enter] or click the OK button to accept or continue. + [ OK ] THelpTopic Open button If you choose the Open button in the Select Table dialog box, TUTILITY opens a new table for verification or rebuilding. + [ Open ] THelpTopic Change Directory dialog box The Change Directory dialog box contains the following: g A Directory type-in to enter the directory you want to set as the working directory A Directory box to browse the directories An OK button to accept your entry A Chdir button to change the current directory A Revert button to go back to the previously selected directory THelpTopic Directory name type-in box Directory name Type the path of the new directory in the Directory name type-in box. THelpTopic Directory tree list box Directory tree Drives C:\ PDOX40 PRIVATE SAMPLE.DAT REPORTS The Directory tree list box lets you navigate through directories by using the selection bar and pressing [Enter]. If you're using the keyboard, press [Enter] to make the selected directory the current directory, then choose OK or press [Esc] to exit the dialog box. THelpTopic Chdir button [Chdir ] The Chdir button changes the current directory once you've selected or typed in a directory name. THelpTopic Revert button [Revert] The Revert button goes back to the previous directory, as long as you haven't yet exited the dialog box. THelpTopic Date format Specifies which date format TUTILITY will use to display date information. For additional information on date formats, see your Paradox manuals. THelpTopic Header Corrupt The specified table is either not a Paradox table or the information in the header is corrupt. : To rebuild the data in this table successfully, TUTILITY needs the information stored in the table header. To proceed you must be able to provide this information, including the table's structure. If you do not know the table structure, you can Borrow this information from another table with the same structure. c If you don't have access to the table structure, you must get this information before proceeding. THelpTopic File Format Either this is not a Paradox table or the table header is corrupt. For more information, see Table format. : To rebuild the data in this table successfully, TUTILITY needs the information stored in the table header. To proceed you must be able to provide this information, including the table's structure. If you do not know the table structure, you can Borrow this information from another table with the same structure. c If you don't have access to the table structure, you must get this information before proceeding. THelpTopic Later Format This table may include features not available in Paradox 4.0. If so, you must use the most recent version of TUTILITY to rebuild this table. For more information, see Table format. THelpTopic Header Bad The specified table contains invalid information in the table header. < To rebuild the data in this table successfully, TUTILITY needs the information stored in the table header. To proceed you must be able to provide this information, including the table's structure. If you do not know the table's structure, you can Borrow this information from another table with the same structure. c If you don't have access to the table structure, you must get this information before proceeding. THelpTopic Table Inconsistent Inconsistencies were found in this Paradox table. You should rebuild the table before any additional changes are made to it. If initial tests indicate that the .DB file is a SQL replica but further tests report that it may be a table, TUTILITY will add the message "Table header incorrectly reports that this is a SQL replica" to the Table Inconsistent dialog box. THelpTopic Table format TUTILITY works with Paradox tables created by the following applications: % Application Table formats ------------------------------------------- Paradox SE, 3.0 and 3.5 3.5 Paradox 4.0 3.5/4.0 Paradox for Windows 4.0 ObjectVision 1.0 and 2.0 3.5 ObjectVision 2.1 3.5/4.0 Quattro Pro 3.0 3.5 Quattro Pro 4.0 4.0 Quattro Pro for Windows 4.0 Sidekick 2.0 3.5 Paradox Engine 1.0 and 2.0 3.5 Paradox Engine 3.0 3.5/4.0 ------------------------------------------- TUTILITY can rebuild tables with memo fields and composite secondary indexes or keys (available in Paradox 4.0 and Paradox for Windows). U TUTILITY itself refers to tables as having Paradox 3.5 or Paradox 4.0 formats only. THelpTopic Sort order TUTILITY will use the sort order implied by the PARADOX.SOR file (if it is found in your path). If the PARADOX.SOR file is not found, the ASCII sort order becomes the default. If, however, this table was created with a sort order other than the default, you must specify the appropriate sort order to use. THelpTopic Write protection If this table is write-protected, you must check this box to ensure the newly rebuilt table will also be write-protected. THelpTopic Max. size in original table 64 megabytes is the default maximum table size, but this size may be increased automatically for some structures or manually by the PAL programmer with SETMAXSIZE(). If Paradox automatically increases the maximum table size, TUTILITY will do so as well. If SETMAXSIZE() was used to increase the maximum table size, select the appropriate button here. THelpTopic Auxiliary passwords You must provide the number of auxiliary passwords the table has. These passwords will not be restored by TUTILITY: you must do so after rebuilding the table. C This number is required, however, to read the data in this table. THelpTopic Referential Integrity Some programs that access Paradox tables can enforce referential integrity. If such enforcement is currently in use for this table, the referential integrity box must be checked to maintain this enforcement. THelpTopic Password protection A Paradox table can be encrypted by assigning a password to the table. If a table is password-protected, you must check the password box. If you check the password box on a table that is not password-protected or if you specify the incorrect password for the table, TUTILITY will not be able to successfully rebuild the table. THelpTopic DOS Code Page Some programs that access Paradox tables store the DOS code page (under which the table was created) in the table header if the table format is Paradox 4.0. If a different code page was in use when this table was created than is currently active, the code page field should be updated. , The list of valid DOS code pages includes: Page Description ---- ----------- 437 United States 850 Multilingual (Latin I) 852 Slavic (Latin II) 860 Portuguese 863 Canadian French 865 Nordic THelpTopic Table Consistent The header and data blocks in this table passed the verification tests for consistency. Generally this means that you do not need to rebuild this table. j If, however, you are experiencing any problems with the data in this table you should rebuild the table. THelpTopic Error messages The error message dialog box lets you know that some type of error occurred, such as selecting a table with invalid data. THelpTopic Cancel [Alt][C] Choose the Cancel command to abandon the manual rebuild operation. THelpTopic Warning Choose Yes to cancel manual structure definition or No to continue. THelpTopic Information The structure of the table you have defined with manual rebuild exactly matches the structure of the table you selected for comparison. THelpTopic Different table size You have changed the maximum size of the table you are manually rebuilding. If you have entered a size that does not correspond to the original size of the table, you may lose records by continuing this operation. Select OK to continue or Cancel to return to the Header information dialog box. THelpTopic Windows To run TUTILITY from Windows, enable local table sharing from the TUTILITY Setup dialog box and ensure that DOS file sharing is enabled. To enable DOS file sharing, use SHARE.EXE, which shipped with DOS. These steps ensure that Paradox files are correctly shared and that the proper locking protocol is followed. THelpTopic SQL replicas TUTILITY cannot repair or rebuild replicas created with Paradox SQL Link, but TUTILITY can verify the table header in SQL replicas. If you select a SQL replica from the Select Table dialog box, TUTILITY performs initial tests to ensure that it can read the table header. If TUTILITY is able to read the header, the Table Info dialog box appears. If you choose Verify, TUTILITY verifies the Paradox header information. If TUTILITY detects any problems, it checks the replica's size to ensure that it is not larger than 4K and it checks the header for information that indicates the presence of records. Since SQL replicas are never larger than 4K and contain no records, then it is possible that the selected .DB file is not a SQL replica as the header reports. If the .DB file is larger than 4K or contains records, TUTILITY displays a Table Inconsistent dialog box with the message "Table header incorrectly reports that this is a SQL replica". You can select OK to rebuild the table or Cancel to cancel the rebuild. If you choose Rebuild, TUTILITY checks the replica's size and header for information indicating the presence of records before attempting to rebuild the table. If TUTILITY determines that the .DB file is a table, TUTILITY rebuilds the table. If TUTILITY determines that the .DB file is a SQL replica (because it is less than 4K in size and appears to contain no records), you receive the message "Cannot rebuild SQL replica". If you choose Manual, TUTILITY treats the replica as a corrupt table and will attempt to rebuild the .DB file as a table. If the .DB file is a SQL replica, you will need to regenerate it with SQL Setup. If a replica is damaged or out of date (the structure of the remote table has changed since you created the replica), you can regenerate the replica with SQL Setup. THelpIndex.